#ifndef MYSQL_CONNECT_H
#define MYSQL_CONNECT_H

#include <mysql.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

typedef struct MysqlConnect MysqlConnect;

// 创建 MYSQL 连接
MysqlConnect *createConnect(char *ip, char *user, char *password, char *database, int port);

// 关闭 MYSQL 连接
void destroyConnect(MysqlConnect *connect);

// MYSQL 执行 SQL 更新语句
bool update(MysqlConnect *connect, char *sql);

// MYSQL 执行 SQL 查询语句
bool query(MysqlConnect *connect, char *sql);

// 获取 SQL 查询的下一行数据
bool next(MysqlConnect *connect);

// 获取 SQL 查询行的第几列的数据
char *value(MysqlConnect *connect, int index);

// 开启事务
bool transaction(MysqlConnect *connect);

// 提交事务
bool commit(MysqlConnect *connect);

// 事务回滚
bool rollback(MysqlConnect *connect);

#endif // MYSQL_CONNECT_H
